package com.executor.gateway.config.properties;

import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * 异常处理配置属性
 * 
 * @author miaoguoxin
 * @date 2024/01/01
 */
@Getter
@Setter
@Component
@ConfigurationProperties(prefix = "gateway.exception")
public class ExceptionProperties {

    // Getters and Setters
    /**
     * 是否启用增强模式（详细的异常处理和指标记录）
     * 默认启用
     */
    private boolean enhancedMode = true;
    
    /**
     * 是否记录异常指标
     * 默认启用
     */
    private boolean recordMetrics = true;
    
    /**
     * 是否在响应中包含追踪ID
     * 默认启用
     */
    private boolean includeTraceId = true;
    
    /**
     * 是否在响应中包含详细的错误信息
     * 默认启用
     */
    private boolean includeDetailedError = true;
    
    /**
     * 是否在生产环境中隐藏敏感错误信息
     * 默认启用
     */
    private boolean hideSensitiveInfoInProduction = true;

}